1.2. Exploring the Newly Created Project 探索新项目

    • 标准的管理配置文件 pom.xml
    • 原文路径 src/main/java/
    • 测试文件路径 src/test/java/

    在原文路径下的com.example包中有两个 class 文件,这个 Main 类主要是负责承接 Grizzly 容器,同时也为这个容器配置和部署 JAX-RS 应用。在同一个包内的另外一个类 MyResource 类是 JAX-RS 的一个实现的源代码,如下:

    src/test/java目录下的 MyResourceTest 类是对 MyResource 的单元测试,他们具有相同的包com.example

    1. package com.example;
    2. import javax.ws.rs.client.Client;
    3. import javax.ws.rs.client.ClientBuilder;
    4. import javax.ws.rs.client.WebTarget;
    5. import org.glassfish.grizzly.http.server.HttpServer;
    6. ...
    7. public class MyResourceTest {
    8. private HttpServer server;
    9. private WebTarget target;
    10. @Before
    11. public void setUp() throws Exception {
    12. server = Main.startServer();
    13. Client c = ClientBuilder.newClient();
    14. target = c.target(Main.BASE_URI);
    15. }
    16. @After
    17. public void tearDown() throws Exception {
    18. server.stop();
    19. }
    20. /**
    21. * Test to see that the message "Got it!" is sent in the response.
    22. */
    23. @Test
    24. public void testGetIt() {
    25. String responseMsg = target.path("myresource").request().get(String.class);
    26. assertEquals("Got it!", responseMsg);
    27. }

    在testgetit()方法中,JAX-RS 客户端 API 是用来连接并发送 HTTP GET 请求的 MyResource JAX-RS 资源类侦听在/myresource 的URI。同样作为 JAX-RS API 方法调用链的一部分,回应以Java字符串类型被读到。在测试方法的第二行,响应的内容(从服务器返回的字符串)跟测试断言预期短语比较(译者注:即方法)。要了解更多有关使用 JAX-RS 客户端API,请参阅第5章客户端API